'''
os.path模块操作目录相关函数

函数                                          说明
abspath(path)                       用于获取文件或目录的绝对路径
exists(path)                        用于判断文件或目录是否存在，如果存在迟回True,否则返回False
join(path,name)                     将目录与目录或者文件名,路径与目录文件拼接起来
splitext()                          分离文件名和扩展名(.py)
split()                             分离路径与文件名
basename(path)                      从一个目录中提取文件名
dirname(path)                       从一个路径中提取文件路径，不包括文件名
isdir(path)                         用于判断是否为路径

'''

# os.path.abspath(r'周杰伦 - 青花瓷.mp3')  # E:\python project\基础\游戏\周杰伦 - 青花瓷.mp3

# def check_event(path,i,j):
#     for event in pygame.event.get():
#         if event.type == pygame.QUIT:
#             sys.exit()
#
#         elif event.type == pygame.KEYDOWN:
#             if event.key == pygame.K_RIGHT:  # 触发右按键
#                 if i < len(path):
#                     i += 1
#                     pygame.mixer.music.load(path[i])
#                     pygame.mixer.music.play()
#                 else:
#                     print("亲，已经是最后一首歌")
#                     print(r"请重新输入你想要选择的服务菜单")
#                     continue
#
#             elif event.key == pygame.K_LEFT:
#                 if i > 0:
#                     i -= 1
#                     pygame.mixer.music.load(path[i])
#                     pygame.mixer.music.play()
#                 else:
#                     print("亲，已经是第一首歌")
#                     sleep(1)
#                     i += 1
#                     print(r"请重新输入你想要选择的服务菜单")
#                     continue
#
#             elif event.key == pygame.K_UP:
#                 j += 0.1
#                 pygame.mixer.music.set_volume(j)
#
#             elif event.key == pygame.K_DOWN:
#                 if j > 0:
#
#                     j -= 0.1
#                     pygame.mixer.music.set_volume(j)
#                 else:
#                     print("亲，已经是静音了哦")
#
#             elif event.key == pygame.K_SPACE:
#                 print(r"暂停播放")
#                 pygame.mixer.music.play()
#
#             elif event.key == pygame.K_Q:
#                 sys.exit()

import time
from time import sleep
import pygame
import os
import sys

# global i
def add_music_path():
    '''将曲目的路径存放在列表中'''
    i = 0
    path = []  # 创建一个列表用来存放音乐路径

    # 获取路径下每首歌的名字并返回到一个列表当中
    music_name = os.listdir(r'D:\各种软件安装包\周杰伦音乐')
    print(music_name)

    #  将文件夹绝对路径和每一首个的名字拼接在一起，形成一首歌完整的绝对路径
    while i < len(music_name):
        lujing = os.path.join(r'D:\各种软件安装包\周杰伦音乐', music_name[i])
        path.append(lujing)
        i = i + 1
    return path

def welcom():
    print(r'''
    ♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫
    ♥        欢迎来到旺仔音乐         ♥
    ♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫♫
    ''')

def select(path,i,j,music_time):
    while True :
        print(r'''
        ******************************** *
        * 1. 播放        2. 暂停         *
        * 3. 下一曲      4. 上一曲      *
        * 5. 恢复        6.增大音量       *
        * 7. 减小音量     0 .退出          *
        **********************************
        
          ''')

        n = int(input("请输入一个数字"))

        if n==1:
            if i < len(path):
                if pygame.mixer.music.get_busy() == False:
                    print(r"正在播放音乐",music_name[i])
                    pygame.mixer.music.load(path[i])
                    pygame.mixer.music.play(loops=0, start=0)  # loops = -1，则表示无限重复播放。 MP3 OGG 的start 是以秒为单位


        elif n==2:
            print(r"暂停播放")
            pygame.mixer.music.pause()


        elif n==3:
            if i < len(path):
                i += 1
                pygame.mixer.music.load(path[i])  # 加载音乐路径
                print(r"正在播放音乐", music_name[i])
                pygame.mixer.music.play()
            else:
                print("亲，已经是最后一首歌")
                print(r"请重新输入你想要选择的服务菜单")
                continue
        elif n==4:
            if i > 0:
                i -= 1
                pygame.mixer.music.load(path[i])
                print(r"正在播放音乐", music_name[i])
                pygame.mixer.music.play()

            else:
                print("亲，已经是第一首歌")
                sleep(1)
                i += 1
                print(r"请重新输入你想要选择的服务菜单")
                continue

        elif n==5:
            print(r"恢复播放")
            pygame.mixer.music.unpause()

        elif n == 6:
            j += 0.1
            pygame.mixer.music.set_volume(j)
            print(r'现在的音量是：', pygame.mixer.music.get_volume())

        elif n == 7:
            if j > 0:
                j -= 0.1
                pygame.mixer.music.set_volume(j)
                print(r'现在的音量是：',pygame.mixer.music.get_volume())
            else:
                print("亲，已经是静音了哦")

        elif n==0:
            return 1




if __name__ == '__main__':
    i = 0
    j = 1
    pygame.init()        # 初始化游戏
    pygame.mixer.init()  # 初始化音频部分
    welcom()
    path = add_music_path()
    print(r'i:',i)
    # check_event(path, i, j)
    music_name = os.listdir(r'D:\各种软件安装包\周杰伦音乐')
    select(path,i,j,music_name)



